fix: checkpoint restore uses current task service before cancellation#10404
Closed
roomote[bot] wants to merge 1 commit intomainfrom
Closed
fix: checkpoint restore uses current task service before cancellation#10404roomote[bot] wants to merge 1 commit intomainfrom
roomote[bot] wants to merge 1 commit intomainfrom
Conversation
Fixes #10402 The checkpoint restore was failing because it called cancelTask() BEFORE calling checkpointRestore(). This destroyed the current task with its initialized checkpoint service and created a new task. The new task had no checkpoint service ready yet, so getCheckpointService() returned undefined and the restore silently failed. The fix is to call checkpointRestore() directly on the current task, which already has its checkpoint service initialized. The checkpointRestore function already handles calling cancelTask() internally at the end to reinitialize the UI. Changes: - Remove premature cancelTask() call in checkpointRestore message handler - Call checkpointRestore() on current task directly - Remove unused pWaitFor import
Contributor
Author
Review complete. No issues found. The fix correctly addresses the root cause: the old code called Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR attempts to address Issue #10402 where checkpoint restore was not working properly.
Problem
The checkpoint restore was failing because the
checkpointRestoremessage handler inwebviewMessageHandler.tscalledcancelTask()BEFORE callingcheckpointRestore(). This sequence caused:cancelTask()destroyed the current task with its initialized checkpoint servicecheckpointRestore()was called on the new task,getCheckpointService()returnedundefinedSolution
Call
checkpointRestore()directly on the current task (before any cancellation), which already has its checkpoint service properly initialized. ThecheckpointRestorefunction insrc/core/checkpoints/index.tsalready handles callingcancelTask()internally at the end to reinitialize the UI.Changes
cancelTask()call incheckpointRestoremessage handlercheckpointRestore()on the current task directlypWaitForimportTesting
Feedback and guidance are welcome!